package com.kmzx.one.project.service;

import com.kmzx.one.project.entity.WxUser;
import com.kmzx.one.project.others.dto.UserAuthInfo;
import com.kmzx.one.project.others.dto.UserCenterInfo;
import com.kmzx.one.project.others.dto.UserCert;
import com.kmzx.one.project.others.dto.UserCertInfo;
import com.kmzx.one.project.others.dto.UserVerifyInfo;

import java.util.List;

public interface UserCenterService extends BaseService {

    WxUser findByOpenId(String openId) throws Exception;

    WxUser doInsertWxUser(WxUser wxUser, String parent) throws Exception;

    Integer doUpdateWxUser(WxUser wxUser) throws Exception;

    UserCenterInfo findUserTopInfo(String userId) throws Exception;

    UserCenterInfo findUserTwoInfo(String userId) throws Exception;

    Integer doHasFather(String userId) throws Exception;

    UserAuthInfo doCheckUserAuth(String userId) throws Exception;

    UserAuthInfo doUserAuth(String userId, String name, String idCard) throws Exception;

    String findUserShareMini(String userId)throws Exception;

    List<String> findSpecificUser();

    void updateUserInfo(String userId,String nickName,String avatar);

    void updateUserInfoAll(String userId,String nickName,String avatar,String unionId);

    boolean checkUserUnionId(String userId);


    /**
     * 检测用户的实名信息
     * @param userId
     * @return
     */
    UserCertInfo checkUserCertInfo(String userId);

    /**
     * 用户提交实名信息
     * @param userCert
     */
    void doUserCertInfo(UserCert userCert);


    UserVerifyInfo checkUserVerifyInfo(String userId);


    void doUserVerifyInfo(String userId,String username,String idCard,String phone) throws Exception;

}
